草庐IT

c++ - Swig -includeall 除了...

全部标签

c++ - 如何在 MPI 中创建新类型

我是MPI的新手,我想为Residencestruct创建一个新的数据类型。我只是想看看我是否能以正确的方式创建新类型。结构住宅{双x;双y;};我的新MPI类型MPI_DatatypecreateRecType(){//Set-uptheargumentsforthetypeconstructorMPI_Datatypenew_type;intcount=2;intblocklens[]={1,1};MPI_Aintindices[2];//indices[0]=0;MPI_Type_extent(MPI_DOUBLE,&indices[0]);MPI_Type_extent(MPI

c++ - 像在早期 C 中一样在开始时声明所有范围局部变量的编译含义?

我记得听说在block的开头排列所有范围成员不再是C和C++的推荐做法,但这是否意味着它在生成代码时以某种方式阻碍了编译器,或者仅仅是它不是不再需要这样做,因为它并不总是很方便?A.K.A如果按需声明局部变量,编译器生成最优分配的效率是否更高? 最佳答案 过去在C语言中必须预先声明局部变量,大概是因为在这种情况下更容易实现编译器。如今,编译器实际上“足够先进”,这对POD类型没有任何影响。因此,问题归结为C语言的可读性和品味问题。然而,在C++中,局部变量的声明意味着相关构造函数和析构函数的执行,并且它可能与编译器是否能够采用某些优

c++ - 如何直接获取 rand() 序列中的第 n 个数字而不必调用 rand() n 次?

根据我的理解,使用特定种子设置srand会导致对rand()的调用序列每次为该特定种子生成相同的数字系列:例如:srand(seed1);rand()//firstnumber(e.g.:42)rand()//secondnumber(e.g:17)srand(seed1)rand()//firstnumber(sameasabove(42))rand()//secondnumber(sameasabove(17))有没有办法直接获取序列中的第n个数字,而不必调用rand()n次?例如,如果我想要系列中的第17个随机数,我想在一次调用中获得该数字,而不是调用rand()17次。我无法预

c++ - 分配空间中的链表?

我希望这个问题不要过于强调讨论,而是要有一个明确的答案。我在大学学习了C,然后才开始编写我的第一个有用的程序(意思是没有规范)。我只是偶然发现了一个到目前为止我还没有处理过的问题,我想他们在讲座中没有提到它:当我分配可能调整大小的内存时,我不应该存储指向该分配空间地址的指针。因为当我重新分配时,空间可能会移动到不同的位置,这使得指向该区域的每个指针都变得毫无值(value)。这使我得出结论,我不能在空间内存储链表,每个元素都“存在”在这个空间的某个地方,因为重新分配可能会使所有“下一个”和“上一个”指针无效。这是我从来没有遇到过的问题,所以我想问问你是否有解决办法。具体来说:我有一个共

java - JNI - C++/Java 中的监听器 - 是否可以在 C++ 中实例化 Java 对象并将它们用作参数

以下是否可与JNI一起使用?publicNativeClass{static{System.loadLibrary("dll");}publicstaticnativevoidaddListener(Listenerlistener);}publicinterfaceListener{publicvoideventOccurred(Infoinfo);}publicInfo{privatefinalStrings1;privatefinalStrings2;publicInfo(Strings1,Strings2);//...gettersforuseinJava}是否可以在dll上注

c++ - 在哪种情况下 UDP 套接字上的 sendto() 返回 0?

有没有一种情况,当在UDP套接字上调用sendto()时返回0,如果是,那是什么意思?手册只说,出错时为-1,否则为发送的字节数。 最佳答案 您可以在域数据报或UDP套接字上send()/sendto()零字节消息,在这种情况下,返回的长度为0字节是正确的.如果您意外地看到这个,请验证sendto(intfd,voidconst*buf,size_tlen,intflags,structconst*dest,sockles_taddrlen)中的len参数>打电话。 关于c++-在哪种情

c++ - C++ 中的 C99 样式可变长度数组函数签名

在C99中我们可以这样写函数签名:voidfunc(intdim1,intdim2,floatA[dim1*dim2]);dim1和dim2是运行时参数。这很好,因为任何使用此类函数的用户都会立即了解A的维数,因此无需阅读注释/文档即可推断出更多信息。如果dim1和dim2是语义超出此处所示内容的参数,则尤其如此。是否可以用C++编写一个接口(interface)来提示函数所期望的vector/张量的维数和大小?维度可能可以编码为模板参数(我特别不喜欢的东西,但这是另一个主题)但是大小?有什么想法吗?更新:我想我必须说得更清楚些。C++函数看起来像这样:voidfunc(intdim1

c++ - C++ 中的 Z3 最大化

在Z3中,以下显然被评估为最大值2,模型x=true且y=true。(declare-constxBool)(declare-constyBool)(declare-constzBool)(assert(=zfalse))(maximize(+(ite(=xtrue)10)(ite(=ytrue)10)(ite(=ztrue)10)))(check-sat)(get-model)我如何使用C/C++API实现它?我试过使用这个简单地解析:Z3_astparsed=Z3_parse_smtlib2_string(c,,0,0,0,0,0,0);z3::exprsimpleExample(

c++ - PVOID buffer转PCHAR有什么意义?

我在MS代码示例中看到下一个代码:PVOIDalignedBuffer[BUFFER_SIZE/sizeof(PVOID)];PCHARbuffer=(PCHAR)alignedBuffer;hResult=FilterSendMessage(context->Port,&commandMessage,sizeof(COMMAND_MESSAGE),buffer,sizeof(alignedBuffer),&bytesReturned);(alignedBuffer将保存作为重播传递给FilterSendMessage调用的结构数组)将PVOID转换为PCHAR有什么意义,这是否有助于

c++ - 获取 Clang 中变量的大小

使用Clang库,是否有一些可用的方法来获取变量的大小(就像我在常规C/C++程序中使用sizeof()一样?我能够(这就是我想做的)发现VarDecl,但目前我仍然无法在Clang命名空间中找到任何方法来获取我的var的大小发现了当前的VarDecl 最佳答案 类型的大小信息存储在与给定类型关联的TypeInfo中。您可以通过getTypeInfo函数从ASTContext中获取对应的FieldInfo对。该对的第一个元素是类型的大小(以位为单位)。第二个元素是以位为单位的类型对齐。boolVisitVarDecl(VarDecl